Packet classification is an essential function to implement many applications such as Access Control (firewall, intrusion detection, etc.), DiffServ-based QoS (marking and policing), and Traffic Redirection (policy-based routing, Web Cache Communication Protocol, etc). Due to properties such as simplicity and wire-speed lookup within deterministic throughput, TCAMs become an important building block for packet classification in high-end routers and switches.
TCAM devices have a few drawbacks when compared with other memory, including higher cost, higher power consumption, and lower density, which are caused by the circuit complexity of each cell. High power consumption increases the power supply and cooling cost, which indirectly impacts the total cost of ownership and system performance. Therefore, in recent cost and power-effective designs for routers and switches. TCAM size has been significantly reduced.
However, with smaller TCAM size, cost-effective routers and switches risk the inability to enable packet classification policies that were previously used by routers and switches with a larger TCAM size. In view of this situation, what is needed is a mechanism to efficiently allocate TCAM resources.